package be.ipl.finito.dao;

import java.util.List;

import javax.ejb.Local;

import be.ipl.finito.domaine.Joueur;
import be.ipl.finito.domaine.Partie;
import be.ipl.finito.domaine.Plateau;


@Local
public interface PlateauDao extends Dao<Integer,Plateau>{
	/**
	 * M�thode permetant de cr�er un plateau pour un joueur d'une partie.
	 * 
	 * @param joueur
	 *            le joueur du plateau.
	 * @param partie
	 *            la partie du plateau.
	 * @return le plateau.
	 */
	Plateau creerPlateau(Joueur joueur, Partie partie)
			throws IllegalArgumentException;
	
	/**
	 * M�thode permetant de r�cuperer le plateau d'un joueur d'une partie.
	 * 
	 * @param joueur
	 *            le joueur du plateau.
	 * @param partie
	 *            la partie du plateau.
	 * @return le plateau.
	 */
	Plateau recupererPlateau(Joueur joueur, Partie partie) throws IllegalArgumentException;
	public List<Plateau> recupererPlateauPartie(Partie partie);
	public Plateau chargerCase(Plateau p);
}
